(function() {
    FastClick.attach(document.body);
    //do your thing.
    var userId = Util.getParam('userId'), // 被点赞人id
        openId = Util.getParam('openId'), // 点赞人id
        code = Util.getParam('code'), // 授权code

        url = window.location.origin + window.location.pathname; // 当前url

    // var countLoader = 0; // 计算loader个数

    // 授权认证
    auth(openId, function(openid) {
        // 获取被点赞人信息
        getUserInfo(userId, function(data) {
            initUserInfo(data);
            var userid = data.id;
            console.log(data.id)
            if (userid == openid) {
                $('.btn-collect').addClass('unabled');
            }
            setWX(userid);
            // 点击事件
            $('.about').on('click', function(e) {
                goto('about');
            });
            $('.rule').on('click', function(e) {
                goto('rule');
            });
            $('.btn-like').on('click', function(e) {
                eventLike(e, userid, openid);
            });
            $('.btn-collect').on('click', function(e) {
                eventCollect(e, userid, openid);
            });
        });

    });
    
    

        

    function initUserInfo(data) {
        console.log(data)
        var _info = data.name + '已无可超越，再接再励，不可松懈哦，加油！';
        $('#avatar').attr('src', data.headimgurl);
        if(data.rank != 1) {
            _info = '<font>' + data.name + '</font>已获得<span id="zan_count">'+ data.zanCount +'</span>个点赞，<font>排名<font id="rank">' + data.rank + '</font></font>，获取'+ data.gap +'个赞可赶超第' + (+data.rank  - 1)+'名，加油！'
        }
        $('#user_info').html(_info);
    }

    function auth(id, cb) {
        // 若openid为空，那么需要进行微信授权
        // if (!id) {
            // 若code 不为空，说明授权成功， 获取用户信息
            if (code) {
                // countLoader += 1;
                // console.log(countLoader);
                console.log(123123)
                Util.Ajax({ 
                    url: Util.openAPI + '/dianzan/app/authUserInfo',
                    type: 'get',
                    data: {
                        "code": code
                    },
                    dataType: 'json',
                    cbOk: function(data, textStatus, jqXHR) {
                        console.log(data);
                        // Util.toast('授权成功');
                        openId = data.id;
                        cb && cb(openId)
                    },
                    cbErr: function(e, xhr, type) {
                        Util.toast('授权失败，请重新尝试');
                    }
                });
                return;
            }
            // 若code为空，那么进行微信授权
            var _url = window.location.href;
            // if(_url.indexOf('index2.html') == -1) {
            //     _url = _url.replace('index.html', 'index2.html');
            // } else {
            //     _url = _url.replace('index2.html', 'index.html');
            // }
            window.location.href = Util.openAPI + '/dianzan/app/redirectUrl?url=' + _url; // 带上重定向地址
           return; 
        // }
        
        // cb(openId)
    }

    function goto(type) {
        window.location.href = "./" + type + ".html";
    }
    
    function eventLike(e, userid, openid) {
        var $target = $(e.currentTarget);
        if ($target.hasClass('unabled')) {
            return;
        }
        Util.Ajax({
            url: Util.openAPI + '/dianzan/app/zanCount/dianzan',
            type: 'post',
            data: {
                "userId": userid,
                "openId": openid
            },
            dataType: 'json',
            cbOk: function(data, textStatus, jqXHR) {
                var _tip = '';
                switch(data) {
                    case 'true': 
                    //todo 更新点赞人信息
                    // var $zanCount = $('#zan_count');
                    // var count = $zanCount.html()
                    // $zanCount.html(+ count + 1);
                    // Util.toast('你已成功为你的朋友点赞助力，他距离大奖越来越近了，你也可以通过“我要集赞”按钮来参与我们的活动');
                    getUserInfo(userid, function(data) {
                        initUserInfo(data);
                        Util.popup({
                            content: '你已成功为你的朋友点赞助力，他距离大奖越来越近了，你也可以通过“我要集赞”按钮来参与我们的活动！',
                            btns: [{
                                name: '我知道了！',
                                cb: null,
                            }]
                        });
                        $(e.currentTarget).addClass('unabled');
                    });
                    break;
                    case 'false': 
                    Util.toast('点赞失败，请稍后再试');
                    break;
                    case 'fail': 
                    Util.toast('一天之内对同一个人只能点赞一次');
                    break;
                }
            },
            cbErr: function(e, xhr, type) {
                Util.toast('一天之内对同一个人只能点赞一次');
            }
        });
    }

    function eventCollect(e, userid, openid) {
        if ($('.btn-collect').hasClass('unabled')) {
            return;
        }
        if (userid == openid) {
            return;
        }

        Util.popup({
            content: '进入我的集赞页面，点击右上角进行分享，就能成功发起我的集赞哦！赶紧尝试一下吧！',
            btns: [{
                name: '取消',
                cb: null,
            },{
                name: '我要集赞',
                cb: function(){
                    getUserInfo(openid, function(data) {
                        // todo
                        // 如果手机号不为空，直接发起我要点赞页，否则进入信息搜集页
                        if(data.phone) {
                            // window.location.href = url + '?userId=' + openid + '&openId=' + openid; 
                            window.location.href = url + '?userId=' + openid; 
                            return;
                        }
            
                        window.location.href = './registration.html?userId=' + openid
                    });
                },
            }]
        });
        
    }

    function getUserInfo(userid, cbOk) {
        Util.Ajax({
            url: Util.openAPI + '/dianzan/app/zanCount/userInfo',
            type: 'get',
            data: {
                "userId": userid
            },
            dataType: 'json',
            cbOk: function(data, textStatus, jqXHR) {
                cbOk && cbOk(data);
            },
            cbErr: function(e, xhr, type) {
                Util.toast('信息查询失败，请稍后再试');
            }
        });
    }

    function setWX(userid) {
        // var jsUrl = window.location.href.split('/html/')[0] + $('#js_index').attr('src').split('..')[1];
        Util.Ajax({
            url: Util.openAPI + '/dianzan/app/zanCount/zanConfig',
            type: 'get',
            data: {
                "jsUrl":  encodeURIComponent(window.location.href.split('#')[0])
            },
            dataType: 'json',
            cbOk: function(data, textStatus, jqXHR) {
                wx.config({
                    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
                    appId: data.appid, // 必填，公众号的唯一标识
                    timestamp: data.timestamp, // 必填，生成签名的时间戳
                    nonceStr: data.echostr, // 必填，生成签名的随机串
                    signature: data.signature,// 必填，签名，见附录1
                    jsApiList: [
                        'onMenuShareTimeline',
                        'onMenuShareAppMessage',
                        // 'updateAppMessageShareData',
                        // 'updateTimelineShareData'
                    ] // 必填，需要使用的JS接口列表。
                });

                wx.ready(function() {
                    var shareData = {
                        title: '我正在参加集赞赢万元大奖，快来为我点赞',
                        desc: '下一个中国锦鲤，就是正在分享的你',
                        link: url + '?userId='+ userid, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                        imgUrl: window.location.href.split('/html/')[0] + '/images/share.jpg',
                        success: function () {
                            // 用户点击了分享后执行的回调函数
                        }
                    };
                    //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口（即将废弃）
                    wx.onMenuShareTimeline(shareData);
                    // wx.updateTimelineShareData(shareData);
                    
                    //获取“分享给朋友”按钮点击状态及自定义分享内容接口（即将废弃）
                    wx.onMenuShareAppMessage(shareData);
                    // wx.updateAppMessageShareData(shareData);
                        
                });
            },

            cbErr: function(e, xhr, type) {
                // Util.toast('信息查询失败，请稍后再试');
            }
        });
        
    }
})();
